package com.equipmentRent.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.equipmentRent.common.annotation.Excel;
import com.equipmentRent.common.core.domain.BaseEntity;

/**
 * 主订单对象 order
 * 
 * @author ruoyi
 * @date 2025-05-17
 */
@Data
@TableName("t_order")
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号（规则：YYYYMMDD+序列） */
    private String id;

    /** 租户ID（逻辑关联customer.id） */
    @Excel(name = "租户ID", readConverterExp = "逻=辑关联customer.id")
    private Long customerId;

    /** 订单总额 */
    @Excel(name = "订单总额")
    private BigDecimal totalAmount;

    /** 总押金 */
    @Excel(name = "总押金")
    private BigDecimal depositAmount;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 起租时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起租时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseStart;

    /** 应还时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "应还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseEnd;

    /** 实际归还时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际归还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualReturn;

    /** 超期费用 */
    @Excel(name = "超期费用")
    private BigDecimal overdueFee;

    /** 删除标记 */
    private Long isDelete;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }

    public void setDepositAmount(BigDecimal depositAmount) 
    {
        this.depositAmount = depositAmount;
    }

    public BigDecimal getDepositAmount() 
    {
        return depositAmount;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setLeaseStart(Date leaseStart) 
    {
        this.leaseStart = leaseStart;
    }

    public Date getLeaseStart() 
    {
        return leaseStart;
    }

    public void setLeaseEnd(Date leaseEnd) 
    {
        this.leaseEnd = leaseEnd;
    }

    public Date getLeaseEnd() 
    {
        return leaseEnd;
    }

    public void setActualReturn(Date actualReturn) 
    {
        this.actualReturn = actualReturn;
    }

    public Date getActualReturn() 
    {
        return actualReturn;
    }

    public void setOverdueFee(BigDecimal overdueFee) 
    {
        this.overdueFee = overdueFee;
    }

    public BigDecimal getOverdueFee() 
    {
        return overdueFee;
    }

    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }


}
